1 import sys
2 import sqlite3
3 db = sqlite3.connect(
"rdbms_examination_result_project.db")
4 conn = db.cursor()

5
6 '''conn.execute("""CREATE TABLE STUDENT(

7                 ROLL_NO INT PRIMARY KEY NOT NULL,
8                 NAME TEXT NOT NULL,
9                 FATHER_NAME TEXT NOT NULL,
10                 MOBILE_NO INT NOT NULL,
11                 AGE INT NOT NULL,
12                 DEPARTMENT TEXT NOT NULL)
""")
13
14 conn.execute("""
CREATE TABLE RESULT(
15                 ROLL_NO INT PRIMARY KEY NOT NULL,
16                 EXAMINATION TEXT NOT NULL,
17                 PYTHON INT NOT NULL,
18                 RDBMS TEXT NOT NULL,
19                 CN INT NOT NULL,
20                 OS INT NOT NULL,
21                 DS INT NOT NULL,
22                 FOREIGN KEY (ROLL_NO) REFERENCES STUDENT(ROLL_NO))
""")'''
23
24
25 def insert_data():
26     ch="
y"
27     
while(ch=="y" or ch=="Y"):
28            i=
0
29            stu_roll_no=
int(input("\n\nENTER THE ROLL NUMBER :"))
30
31            q0 = "
SELECT * FROM STUDENT where ROLL_NO=?"
32            conn.execute(q0, (stu_roll_no,))
33            a=conn.fetchall()
34            
for row in a:
35                
if(stu_roll_no == row[0]):
36                    print("
\nTHIS ROLL NUMBER ALREADY EXISTS")
37                    print("
\n1.UPDATE THE EXISTING RECORD\n2.INSERT NEW RECORD\nPRESS ANY KEY TO GO BACK")
38                    sel=input("
\nENTER CHOICE : ")
39                    
if sel=='1':
40                        update_data()
41                        i=
1
42                        ch="
n"
43                    elif sel=='
2':
44                        ch="
y"
45                        i=
1
46                    
else:
47                        admin()
48                        ch="
n"
49                        i=
1
50                            
51                
else:
52                    
break
53            
if i!=1:
54                stu_name=input("
ENTER STUDENT NAME :")
55                father_name=input("
ENTER FATHER NAME :")
56                mobile=input("
ENTER THE MOBILE NO :")
57                
while(len(mobile)!=10):
58                    mobile=input("
\nPLEASE ENTER 10-DIGIT MOBILE NUMBER :")
59                stu_mobile_no=
int(mobile)
60
61                stu_age=
int(input("ENTER STUDENT AGE :"))
62                
while(stu_age<=0 or stu_age>=30):
63                    stu_age=
int(input("\nENTER CORRECT STUDENT AGE"))
64                
65                stu_dept=input("
ENTER THE DEPARTMENT NAME :")
66                stu_dept.upper()
67                exam=input("
ENTER EXAMINATION NAME :")
68                python=
int(input("ENTER MARKS IN PYTHON :"))
69                rdbms=
int(input("ENTER MARKS IN RDBMS :"))
70                cn=
int(input("ENTER MARKS IN CN :"))
71                os=
int(input("ENTER MARKS IN OS :"))
72                ds=
int(input("ENTER MARKS IN DS :"))
73
74                conn.execute("
insert into student (ROLL_NO,NAME,FATHER_NAME,MOBILE_NO,AGE,DEPARTMENT) values (?,?,?,?,?,?)",(stu_roll_no,stu_name,father_name,stu_mobile_no,stu_age,stu_dept))
75                conn.execute("
insert into result (ROLL_NO,EXAMINATION,PYTHON,RDBMS,CN,OS,DS) values (?,?,?,?,?,?,?)",(stu_roll_no,exam,python,rdbms,cn,os,ds))
76
77                print("
\n\nRECORD ENTERED SUCCESSFULLY")
78                db.commit()
79
80                ch=input("
\n\nWANT TO INSERT ANOTHER RECORD ? (Y/N) : ")
81
82 def update_data():
83     ch="
y"
84     u=
0
85     rn=
int(input("\nENTER STUDENT ROLL NUMBER TO UPDATE RECORD :"))
86     q0 = "
SELECT * FROM STUDENT where ROLL_NO=?"
87     conn.execute(q0, (rn,))
88     a=conn.fetchall()
89     
for row in a:
90         
if(rn == row[0]):
91             
while(ch=="y" or ch=="Y"):
92                 u=
1
93                 print("
\n1.UPDATE STUDENT NAME ")
94                 print("
2.UPDATE FATHER NAME ")
95                 print("
3.UPDATE MOBILE NUMBER ")
96                 print("
4.UPDATE STUDENT AGE ")
97                 print("
5.UPDATE DEPARTMENT ")
98                 print("
6.UPDATE MARKS IN PYTHON ")
99                 print("
7.UPDATE MARKS IN RDBMS ")
100                 print("
8.UPDATE MARKS IN CN ")
101                 print("
9.UPDATE MARKS IN OS ")
102                 print("
10.UPDATE MARKS IN DS ")
103                 print("
11.UPDATE EXAMINATION NAME ")
104                 choice =
int(input("\nENTER YOUR CHOICE : "))
105
106                 
if (choice == 1):
107                     up_name = input("
\nENTER STUDENT NAME :")
108                     q5 = "
UPDATE STUDENT SET NAME=? where ROLL_NO=?"
109                     conn.execute(q5, (up_name, rn,))
110                     print("
\nNAME SUCCESSFULLY UPDATED")
111
112                 elif(choice==
2):
113                     up_f_name = input("
\nENTER FATHER NAME :")
114                     q6 = "
UPDATE STUDENT SET FATHER_NAME=? where ROLL_NO=?"
115                     conn.execute(q6, (up_f_name, rn,))
116                     print("
\nFATHER NAME UPDATED SUCCESSFULLY")
117
118                 elif(choice ==
3):
119                     mn = input("
\nENTER MOBILE NUMBER :")
120                     
while(len(mn)!=10):
121                         mn=input("
\nPLEASE ENTER 10-DIGIT MOBILE NUMBER :")
122                     up_mn=
int(mobile)
123                     q7 = "
UPDATE STUDENT SET MOBILE_NO=? where ROLL_NO=?"
124                     conn.execute(q7, (up_mn, rn,))
125                     print("
\nMOBILE NUMBER UPDATED SUCCESSFULLY")
126
127                 elif(choice ==
4):
128                     up_age =
int(input("\nENTER STUDENT AGE :"))
129                     
while(up_age<=0 or up_age>30):
130                              up_age=
int(input("\nENTER CORRECT STUDENT AGE"))
131                     q15 = "
UPDATE STUDENT SET AGE=? where ROLL_NO=?"
132                     conn.execute(q15, (up_age, rn,))
133                     print("
\nAGE UPDATED SUCCESSFULLY")
134                     
135                 elif(choice ==
5):
136                     up_dept = input("
ENTER DEPARTMENT NAME :")
137                     q8 = "
UPDATE STUDENT SET DEPARTMENT=? where ROLL_NO=?"
138                     conn.execute(q8, (up_dept, rn,))
139                     print("
\nDEPARTMENT UPDATED SUCCESSFULLY")
140
141                 elif(choice ==
6):
142                     up_python =
int(input("ENTER MARKS IN PYTHON :"))
143                     q9 = "
UPDATE RESULT SET PYTHON=? where ROLL_NO=?"
144                     conn.execute(q9, (up_python, rn,))
145                     print("
\nMARKS IN PYTHON UPDATED SUCCESSFULLY")
146
147                 elif(choice ==
7):
148                     up_rdbms =
int(input("ENTER MARKS IN RDBMS :"))
149                     q10 = "
UPDATE RESULT SET RDBMS=? where ROLL_NO=?"
150                     conn.execute(q10, (up_rdbms, rn,))
151                     print("
\nMARKS IN RDBMS UPDATED SUCCESSFULLY")
152
153                 elif(choice ==
8):
154                     up_cn =
int(input("ENTER MARKS IN CN :"))
155                     q11 = "
UPDATE RESULT SET CN=? where ROLL_NO=?"
156                     conn.execute(q11, (up_cn, rn,))
157                     print("
\nMARKS IN CN UPDATED SUCCESSFULLY")
158
159                 elif(choice ==
9):
160                     up_os =
int(input("ENTER MARKS IN OS :"))
161                     q12 = "
UPDATE RESULT SET OS=? where ROLL_NO=?"
162                     conn.execute(q12, (up_os, rn,))
163                     print("
\nMARKS IN OS UPDATED SUCCESSFULLY")
164
165                 elif(choice ==
10):
166                     up_ds =
int(input("ENTER MARKS IN DS :"))
167                     q13 = "
UPDATE RESULT SET DS=? where ROLL_NO=?"
168                     conn.execute(q13, (up_ds, rn,))
169                     print("
\nMARKS IN DS UPDATED SUCCESSFULLY")
170
171                 elif(choice ==
11):
172                     up_exam =input("
ENTER EXAMINATION NAME :")
173                     q14 = "
UPDATE RESULT SET EXAMINATION=? where ROLL_NO=?"
174                     conn.execute(q14, (up_exam, rn,))
175                     print("
\nEXAMINATION NAME UPDATED SUCCESSFULLY")
176                 
else:
177                     print("
\nINVALID CHOICE\nCHOOSE AGAIN\n")
178                     ch="
y"
179                     u+=
1
180                 db.commit()
181                 
if u==1:
182                     ch=input("
\nWANT TO UPDATE MORE RECORDS ? (Y/N): ")
183     
if u==0:
184         print("
\nTHIS ROLL NUMBER DOES NOT EXISTS IN RECORD")
185         print("
\n1. INSERT THIS INTO DATABASE\n2. BACK TO ADMIN MODE")
186         sel=
int(input("\nENTER CHOICE : "))
187         
if sel==1:
188             insert_data()
189         
else:
190             admin()
191
192 def delete_data():
193     ch="
y"
194     
while(ch=="y" or ch=="Y"):
195         d=
0
196         rn =
int(input("\nENTER THE STUDENT ROLL NUMBER TO DELETE RECORD:"))
197         q0 = "
SELECT * FROM STUDENT where ROLL_NO=?"
198         conn.execute(q0, (rn,))
199         a=conn.fetchall()
200         
for row in a:
201             
if(rn == row[0]):
202                 q3 = "
delete from STUDENT where ROLL_NO=?"
203                 conn.execute(q3, (rn,))
204                 q4 = "
delete from RESULT where ROLL_NO=?"
205                 conn.execute(q4, (rn,))
206                 print("
\nRECORD DELETED SUCCESSFULLY")
207                 db.commit()
208                 d=
1
209
210                 ch=input("
\nWANT TO DELETE MORE RECORDS ? (Y/N) : ")
211         
if d==0:
212             print("
\nNO SUCH RECORD EXISTS IN THE DATABASE")
213             admin()
214
215 def user():
216     ch="
y"
217     
while ch=="y" or ch=="Y":
218         v=
0
219         rn=
int(input("\nENTER THE ROLL NO :"))
220         q1 = "
SELECT * FROM STUDENT where ROLL_NO=?"
221         conn.execute(q1, (rn,))
222         a=conn.fetchall()
223         
for row in a:
224             
if(rn == row[0]):
225                 print("
\nROLL NUMBER :", row[0])
226                 print("
STUDENT NAME :", row[1])
227                 print("
FATHER NAME:", row[2])
228                 print("
PHONE NUMBER :", row[3])
229                 print("
STUDENT AGE :", row[4])
230                 print("
DEPARTMENT :", row[5])
231                 v=
1
232             
else:
233                 
break
234         q2 = "
SELECT * FROM RESULT where ROLL_NO=?"
235         conn.execute(q2, (rn,))
236         b=conn.fetchall()
237         
for row1 in b:
238             
if(rn==row1[0]):
239                 print("
\nEXAMINATION NAME :", row1[1])
240                 print("
MARKS IN PYTHON :", row1[2])
241                 print("
MARKS IN RDBMS :", row1[3])
242                 print("
MARKS IN CN :", row1[4])
243                 print("
MARKS IN OS :", row1[5])
244                 print("
MARKS IN DS :", row1[6])
245                 v=
2
246             
else:
247                 
break
248         
if v!=2:
249             print("
\nTHERE IS NO SUCH RECORD")
250             sel=
int(input("\n1.VIEW ANOTHER\n2.RETURN\nENTER CHOICE : "))
251             
if sel==1:
252                 ch="
y"
253             
else:
254                 
return
255         
else:
256             ch=input("
\nWANT TO VIEW ANOTHER RECORD ? (Y/N): ")
257
258 def login():
259     username=input("
\nENTER THE USERNAME :")
260     
if(username=="ARMAN" or username=="arman"):
261         password=input("
ENTER THE PASSWORD :")
262         
if(password=="password"):
263             print("
\nLOGIN SUCCESSFUL")
264             admin()
265         
else:
266             print("
\nINVALID CREDENTIALS")
267             login()
268     
else:
269         print("
\nINVALID CREDENTIALS")
270         login()
271
272 def view():
273     q1 = "
SELECT * FROM STUDENT"
274     conn.execute(q1)
275     a=conn.fetchall()
276     print("
\n........STUDENT TABLE........")
277     
for row in a:
278             print("
\n\nROLL NUMBER :", row[0])
279             print("
STUDENT NAME :", row[1])
280             print("
FATHER NAME:", row[2])
281             print("
PHONE NUMBER :", row[3])
282             print("
STUDENT AGE :", row[4])
283             print("
DEPARTMENT :", row[5])
284     q2 = "
SELECT * FROM RESULT"
285     conn.execute(q2)
286     b=conn.fetchall()
287     print("
\n........RESULT TABLE........")
288     
for row1 in b:
289             print("
\n\nROLL NUMBER :", row1[0])
290             print("
EXAMINATION NAME :", row1[1])
291             print("
MARKS IN PYTHON :", row1[2])
292             print("
MARKS IN RDBMS :", row1[3])
293             print("
MARKS IN CN :", row1[4])
294             print("
MARKS IN OS :", row1[5])
295             print("
MARKS IN DS :", row1[6])
296
297 def admin():
298     ch="
y"
299     
while(ch=="y" or ch=="Y"):
300
301         print("
\n1. INSERT NEW RECORD IN DATABASE")
302         print("
2. UPDATE RECORD IN DATABASE")
303         print("
3. DELETE RECORD FROM DATABASE")
304         print("
4. SHOW DATABASE")
305         print("
5. EXIT")
306         choice =
int(input("\nENTER YOUR CHOICE :"))
307         
if (choice==1):
308             insert_data()
309         elif (choice==
2):
310             update_data()
311         elif (choice==
3):
312             delete_data()
313         elif(choice==
4):
314             view()
315         elif(choice==
5):
316             sys.exit()
317         
else:
318             print("
\nPLEASE ENTER THE VALID CHOICE")
319             admin()
320         ch=input("
\nWANT TO CONTINUE TO ADMIN MODE ?(Y/N) : ")
321
322 #main program
323 ch="
y"
324 while
(ch=="y" or ch=="Y"):
325     print("
\n\n..........EXAMINATION RESULT MANAGEMENT SYSYTEM............")
326     print("
\n\n\n1. ADMINISTRATION MODE")
327     print("
2. USER MODE")
328     print("
3. EXIT")
329     choice=
int(input("\nENTER YOUR CHOICE :"))
330     
if(choice == 1):
331             login()
332             ch="
n"
333     elif(choice ==
2):
334             user()
335             ch="
n"
336     elif(choice ==
3):
337             sys.exit()
338     
else:
339         print("
\nINVALID CHOICE")
340 sys.exit()


Gõ tìm kiếm nhanh...